package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bTiposVoces;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


import w83b.w83bBeans.W83bTiposVocesBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bTablaTiposVocesOPAction extends Q70ActionPasoOP{

	
	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores,
			ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		
		//Guardamos la accion en el contexto
		contexto.set("action",request.getParameter("action"));
				
		W83bTiposVocesBean tipoVozBean = (W83bTiposVocesBean)contexto.get("w83bTiposVocesBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
				if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
					tipoVozBean = new W83bTiposVocesBean();
					tipoVozBean.setCodTipoVoz(request.getParameter("w83bTiposVocesBean.codTipoVoz"));
					tipoVozBean.setDescTipoVoz(request.getParameter("w83bTiposVocesBean.descTipoVoz"));
					tipoVozBean.setDescTipoVozEusk(request.getParameter("w83bTiposVocesBean.descTipoVozEusk"));
			if(StringUtils.isNotEmpty(request.getParameter("w83bTiposVocesBean.baja"))){
				tipoVozBean.setBaja(W83bClsConstantes.BAJA);
			}
			
			tipoVozBean = (W83bTiposVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, tipoVozBean);
			tipoVozBean.setPage("1");
			contexto.set("w83bTiposVocesBean",tipoVozBean);
			}else{
				tipoVozBean = (W83bTiposVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, tipoVozBean);
				
				contexto.set("w83bTiposVocesBean",tipoVozBean);				
			}
		}else if("sord".equals(request.getParameter("action"))){
			tipoVozBean = (W83bTiposVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, tipoVozBean);			
			contexto.set("w83bTiposVocesBean",tipoVozBean);
		}else if(StringUtils.isEmpty(((W83bTiposVocesBean)contexto.get("w83bTiposVocesBean")).getSort())){
			tipoVozBean = (W83bTiposVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, tipoVozBean);			
			contexto.set("w83bTiposVocesBean",tipoVozBean);
		}
		
	}
	
	
	protected ActionForward processForward(Q70ContextoEJIE contexto,
			ActionErrors errores, ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		String action = (String)contexto.get("action");

		W83bTiposVocesBean tipoVozBean = (W83bTiposVocesBean)contexto.get("w83bTiposVocesBean");
		
		tipoVozBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
		
		contexto.set("w83bTiposVocesBean", tipoVozBean);
		
		if(null==(ArrayList)contexto.get("w83bListaTiposVoces")){	
			contexto.set("w83bListaTiposVoces", new ArrayList());
		}
		if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("tiposVoces".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.tiposVoces");
				}
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");		
	}


	
}
